package com.ruoyi.system.service.impl;

import java.util.List;
import start.spring.basic.util.common.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.GgPzKafkaMapper;
import com.ruoyi.system.domain.GgPzKafka;
import com.ruoyi.system.service.IGgPzKafkaService;

import com.ruoyi.system.service.BaseServiceImpl;

import start.spring.basic.page.PageQuery;
import start.spring.basic.page.PageResult;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * kafka配置Service业务层处理
 * 
 * @author xuyy
 * @date 2023-08-09
 */
@Service
public class GgPzKafkaServiceImpl extends BaseServiceImpl implements IGgPzKafkaService {
    
    @Autowired
    private GgPzKafkaMapper ggPzKafkaMapper;

    /**
     * 查询kafka配置列表
     * 
     * @param ggPzKafka kafka配置
     * @return kafka配置
     */
    @Override
    public PageResult<GgPzKafka> selectGgPzKafkaPageList(PageQuery pageQuery,GgPzKafka ggPzKafka) {
        IPage<GgPzKafka> page = super.getPage(pageQuery);
        QueryWrapper<GgPzKafka> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(!StringUtil.isEmpty(ggPzKafka.getKafkaId()), GgPzKafka::getKafkaId, ggPzKafka.getKafkaId());
        queryWrapper.lambda().like(!StringUtil.isEmpty(ggPzKafka.getBootstrapServers()), GgPzKafka::getBootstrapServers, ggPzKafka.getBootstrapServers());
        page = this.ggPzKafkaMapper.selectPage(page, queryWrapper);
        return super.getPageResult(page);
    }
    
    /**
     * 查询全量kafka配置
     * 
     * @param ggPzKafka kafka配置
     * @return kafka配置
     */
    @Override
    public List<GgPzKafka> selectGgPzKafkaList(GgPzKafka ggPzKafka) {
        QueryWrapper<GgPzKafka> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(!StringUtil.isEmpty(ggPzKafka.getKafkaId()), GgPzKafka::getKafkaId, ggPzKafka.getKafkaId());
        queryWrapper.lambda().like(!StringUtil.isEmpty(ggPzKafka.getBootstrapServers()), GgPzKafka::getBootstrapServers, ggPzKafka.getBootstrapServers());
        return this.ggPzKafkaMapper.selectList(queryWrapper);
    }

    /**
     * 修改kafka配置
     * 
     * @param ggPzKafka kafka配置
     * @return 结果
     */
    @Override
    public int updateGgPzKafka(GgPzKafka ggPzKafka) {
    	UpdateWrapper<GgPzKafka> updateWrapper = new UpdateWrapper<>();
    	updateWrapper.lambda().eq(GgPzKafka::getKafkaId, ggPzKafka.getKafkaId());
        return this.ggPzKafkaMapper.update(ggPzKafka, updateWrapper);
    }
	
}
